3 research outputs found

    Scaling out Big Data Distributed Pricing in Gaming Industry

    Get PDF
    Game companies have millions of customers, billions of transactions and petabytes of other data related to game events. The vast volume and complexity of this data make it practically impossible to process and analyze it using traditional relational database models (RDBMs). This kind of data can be identified as Big Data, and in order to handle it in efficient manner, multiple issues have to be taken into account. It is more straightforward to answer to these problems when developing completely new system, that can be implemented with all the new techniques and platforms to support big data handling. However, if it is needed to modify an existing system to accommodate data volumes of big data, there are more issues to be taken into account. This thesis starts with the clarification of the definition 'big data'. Scalability and parallelism are key factors for handling big data, thus they will be explained and some of the conventions to do them will be reviewed. Next, different tools and platforms that do parallel programming, are presented. The relevance of big data in gaming industry is briefly explained, as well as the different monetization models that games have. Furthermore, price elasticity of demand is explained to give better understanding of a Dynamic Pricing Engine and what does it do. In this thesis, I solve a bottleneck that emerges in data transfer and processing when introducing big data to an existing system, a Dynamic Pricing Engine, by using parallel programming in order to scale the system. Spark will be used to deal with fetching and processing distributed data. The main focus is in the impact of using parallel programming in comparison to the current solution, which is done with PHP and MySQL. Furthermore, Spark implementations are done against different data storage solutions, such as MySQL, Hadoop and HDFS, and their performance is also compared. The results for utilizing Spark for the implementation show significant improvement in performance time for processing the data. However, the importance of choosing the right data storage for fetching the data can't be understated, as the speed for fetching the data can widely variate.Peliyhtiöillä on miljoonia asiakkaita, miljardeja maksutapahtumia ja petatavuja pelin tapahtumiin liittyvää dataa. Tämän datan suuri määrä ja kompleksisuus tekevät sen prosessoimisesta sekä analysoimisesta lähes mahdotonta tavallisilla relaatiotietokannoilla. Tällaista dataa voidaan kutsua Big Dataksi, ja jotta sen käsittely olisi tehokasta, useita asioita on otettava huomioon. Uuden järjestelmän toteutuksessa näihin ongelmiin pystytään vastaamaan melko johdonmukaisesti, sillä uusimmat tekniikat ja alustat voidaan ottaa tällöin helposti käyttöön. Jos kyseessä on jo olemassa oleva järjestelmä, jota halutaan muuttaa vastaamaan big datamaisiin datamääriin, huomioon otettavien asioden määrä kasvaa. Tämän diplomityön aluksi selitetään termi 'Big Data'. Big Datan kanssa työskentelyyn tarvitaan skaalautuvuutta ja rinnakkaisuutta, joten nämä termit, sekä näiden yleisimmät käytännöt käydään läpi. Seuraavaksi esitellään työkaluja ja alustoja, joilla on mahdollista tehdä rinnakkaisohjelmointia. Big Datan merkitys peliteollisuudessa selitetään lyhyesti, kuten myös eri monetisaatiomallit, joita peliyritykset käyttävät. Lisäksi kysynnän hintajousto käydään läpi, jotta lukijalle olisi helpompaa ymmärtää, mikä seuraavaksi esitelty Apprien on ja mihin sitä käytetään. Tässä diplomityössä etsin ratkaisua Big Datan siirrossa ja prosessoinnissa ilmenevään ongelmaan jo olemassa olevalle järjestelmälle, Apprienille. Tämä pullonkaula ratkaistaan käyttämällä rinnakkaisohjelmointia Sparkin avulla. Pääasiallinen painopiste on selvittää rinnakkaisohjelmoinnilla saavutettu hyöty verrattuna nykyiseen ratkaisuun, joka on toteutettu PHP:llä ja MySQL:llä. Tämän lisäksi, Spark toteusta hyödynnetään eri datan säilytysmalleilla (MySQL, Hadoop+HDFS), ja niiden suorityskykyä vertaillaan. Tulokset, jotka saatiin Spark toteutusta hyödyntämällä, osoittavat merkittävän parannuksen suoritusajassa datan prosessoimisessa. Oikean tietomallin valitsemisen tärkeyttä ei pidä aliarvioida, sillä datan siirtämiseen käytetty aika vaihtelee myös huomattavasti alustasta riippuen

    Tuotantovälineestä johtuvaa tuotantomenetystä koskeva sopimusriskinjako

    No full text
    Tutkielmassa arvioidaan tuotantomenetyksiä koskevaa tehokasta riskinjakoa sopimuksissa. Tutkimuskysymyksenä on se, miten myyjän sopimusrikkomuksesta aiheutuva tuotantomenetysvahinkoa koskeva riski jakaantuu normipohjan ja yleisesti käytettävien vakioehtojen perusteella, sekä miten tuotantomenetyksiä koskevia riskejä jaettaisiin taloudellisesti tehokkaasti sopimusosapuolten välillä niin, että riskeistä syntyisi mahdollisimman pieni kustannus yksittäisessä sopimussuhteessa. Normipohjasta käsitellään kauppalain ja YK:n kauppalain mukaista riskinjakoa sekä yleisten sopimusoikeudellisten periaatteiden perusteella syntyvää riskinjakoa myyjän ja ostajan välillä. Vastuunrajoitusehdoilla muutetaan normipohjan mukaista riskinjako ja niistä esimerkkeinä käytetään Rakennusurakan yleisiä sopimusehtoja (YSE) sekä FIDIC-ehtoja. Riskinjakoa tarkastellaan neljässä eri viivästymis- ja virhetilanteessa, joissa tuotantovälineestä aiheutuu tuotantomenetyksiä. Nämä tyyppitilanteet ovat viivästyminen, äkillinen häiriö, alitehoisuus ja käytön kieltäminen. Tehokasta riskinjakoa näissä tyyppitilanteissa arvioidaan myyjän ja ostajan vaikutus- ja varautumismahdollisuuksien perusteella. Vaikutus- ja varautumismahdollisuuksien lisäksi arvioitavana on riskinkantokyky, riskinkantohalukkuus sekä vakuuttamismahdollisuudet. Tarkastelua ja sen tuloksia verrataan normipohjaan sekä YSE:n ja FIDIC-ehtojen mukaisiin riskinjaon malleihin sekä tarjotaan vastuunrajoitus ja riskinjakomalleja tuotantomenetysriskin jakamiseksi myyjän ja ostajan välillä. Tehokkaaksi tuotantomenetystä koskevaksi riskinjakomalliksi ehdotetaan viivästymisen osalta viivästyssakon ja myyjän vastuun enimmäismäärän yhdistelmää. Virhetilanteiden äkillinen häiriö ja alitehoisuus riskinjakomalleiksi ehdotetaan sopimussakkoa, myyjän vastuun enimmäismäärää ja ajallista rajoittumista takuuaikaan. Tyyppitilanteessa, jossa myyjän ostajalle toimittaman tuotantovälineen käyttö kielletään esimerkiksi lain, viranomaismääräysten tai immateriaalioikeuksien oikeudenhaltijoiden tekemien vaatimusten perusteella, esitetään tuotantomenetystä koskeva riski jaettavaksi niin, että myyjän vastuu tuotantomenetysriskistä rajoittuisi ennen luovutushetkeä tapahtuviin käytön kieltämisiin, ja silloinkin vastuulle olisi määriteltynä enimmäismäärä
    corecore